package com.iwhalecloud.citybrain.flow.platform.manager.application.service;

import java.util.List;

import com.iwhalecloud.citybrain.flow.platform.manager.common.TaskCreatedEventMsg;
import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.ParticipantVo;
import org.flowable.task.api.Task;
import org.flowable.task.service.impl.persistence.entity.TaskEntity;

/**
 * @author lilh
 * @date 2019-05-20 16:14
 */
public interface CallbackThirdPlatformAfterTaskCreatedService {

    /**
     * 处理
     *
     * @param task 任务
     */
    void handle(Task task);


    /**
     * 处理
     *
     * @param tasks 任务列表
     */
    void handle(List<Task> tasks);

    /**
     * 解析参与人信息
     *
     * @param taskEntity 任务实体
     * @return 参与人信息
     */
    List<ParticipantVo> resolveParticipants(TaskEntity taskEntity);

    TaskCreatedEventMsg resolveTaskCreatedMsg(TaskEntity taskEntity);
}
